package com.example.springbootdemo.bean.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author hh
 * @date 2022/3/2
 */
@Data
public class ChunkInfoDTO implements Serializable {

    private static final long serialVersionUID = -5471851923735649109L;

    /**
     * 当前文件块，从1开始
     */
    @ApiModelProperty("当前文件块")
    @NotNull(message = "当前文件块编号不能为空")
    private Integer chunkNumber;

    /**
     * 当前分块大小
     */
    @ApiModelProperty("当前分块大小")
    @NotNull(message = "当前分块大小不能为空")
    private BigDecimal currentChunkSize;

    /**
     * 每块大小
     */
    @ApiModelProperty("每块大小")
    @NotNull(message = "每块大小不能为空")
    private BigDecimal chunkSize;

    /**
     * 总块数
     */
    @ApiModelProperty("总块数")
    @NotNull(message = "总块数不能为空")
    private Integer totalChunks;

    /**
     * 总大小
     */
    @ApiModelProperty("总大小")
    @NotNull(message = "总大小不能为空")
    private BigDecimal totalSize;

    /**
     * 文件唯一标识
     */
    @ApiModelProperty(value = "文件标识")
    @NotBlank(message = "文件唯一标识不能为空")
    private String identifier;

    /**
     * 文件名
     */
    @ApiModelProperty("文件名")
    @NotBlank(message = "文件名不能为空")
    private String fileName;

    /**
     * 文件类型
     */
    @ApiModelProperty("文件类型")
    private String type;

}
